﻿using System;

namespace BadgeManager.Model
{
    public class TesseraNuovaExeption : ApplicationException
    {
        public TesseraNuovaExeption() : base("Tessera Nuova") { }
    }

    public class TesseraAttivaInUnCorsoException : ApplicationException
    {
        public TesseraAttivaInUnCorsoException()
            : base("Tessera già Associata ad una persona che Frequenta un Corso. Impossibile Ri-Associarla") { }
    }

    public class TesseraNonAbilitata : ApplicationException
    {
        public TesseraNonAbilitata() : base() { }
    }

    public class RiciclareCorsoFinitoException : ApplicationException
    {
        public RiciclareCorsoFinitoException() : base("La Tessera è già attiva in un Corso Finito. Riciclare ?") { }
    }

    public class TesseraEsistenteMaNonAssociata : ApplicationException
    {
        public TesseraEsistenteMaNonAssociata() : base() { }
    }

    public class NumeroCaratteriTesseraNonValidi : ApplicationException
    {
        public NumeroCaratteriTesseraNonValidi() : base("Il numero di cifre nella tessera non sono validi") { }
    }

    public class PersonaAssociataAdAttività : ApplicationException
    {
        public PersonaAssociataAdAttività() : base("Impossibile Eliminare ") { }
    }

    public class TesseraAssociataStessaPersona : ApplicationException
    {
        public TesseraAssociataStessaPersona() : base("Tessera Associata alla Stessa Persona") { }
    }

    public class CorsoAssociatoAdAttivita : ApplicationException
    {
        public CorsoAssociatoAdAttivita() : base("Il corso è associato ad un'Attività") { }
    }

    public class ImpossibileCollegare : ApplicationException
    {
        public ImpossibileCollegare() : base("Non è possibile collegarsi al DataBase") { }
    }

    public class StanzaAssociataAdAttivita : ApplicationException
    {
        public StanzaAssociataAdAttivita() : base("La stanza è Associata ad un'attività") { }
    }

    public class NumeroStanzaDuplicata : ApplicationException
    {
        public NumeroStanzaDuplicata() : base("La stanza è già Esistente") { }
    }

    public class ErrInsTessera : ApplicationException
    {
        public ErrInsTessera() : base("Errore durante l'inserimento della tessera") { }
    }

    public class ImpossibileInserire : ApplicationException
    {
        public ImpossibileInserire() : base("Errore durante l'inserimento") { }
    }

    public class ImpossibileModificare : ApplicationException
    {
        public ImpossibileModificare() : base("Errore durante la modifica") { }
    }

    public class TesseraAssociataAPersona : ApplicationException
    {
        public TesseraAssociataAPersona() : base("Tessera Associata ad Una Persona, impossibile Eliminarla") { }
    }

    public class FileImmagineNonEsistente : ApplicationException
    {
        public FileImmagineNonEsistente() : base("Il file selezionato non esiste") { }
    }
}